# 更新了前端后重构: docker start -i yama-ditui-web

# 使用镜像
FROM gplane/pnpm:9.1.2-node18-alpine

# 设置工作目录
WORKDIR /www

# 复制 package.json 和 package-lock.json
COPY ./package.json ./pnpm*yaml /www/

# 使用淘宝的 npm 镜像源来加速 npm 包的下载
# RUN npm config set registry https://registry.npm.taobao.org

# 设置 npm 的全局代理配置
ENV HTTP_PROXY=http://192.168.168.20:7890
ENV HTTPS_PROXY=http://192.168.168.20:7890

# 如果需要配置 git 代理
# RUN git config --global http.proxy $HTTP_PROXY \
#     && git config --global https.proxy $HTTPS_PROXY
    
# 安装项目依赖
RUN pnpm install --frozen-lockfile

ENV LANG=zh_CN.UTF-8

# 复制应用代码
# COPY . .

# 暴露服务端口
# EXPOSE 3000

# # 默认启动命令
# CMD ["pnpm", "build"]

# 检查 build/done.log 是否存在：
# - 如果不存在：
#   1. 执行 pnpm build
#   2. 记录 build/done.log
# - 如果不存在，直接退出
CMD if [ ! -f "build/done.log" ]; then \
      pnpm build && \
      echo "Build completed on $(date)" > build/done.log; \
    else \
      echo "Build skipped on $(date)" > build/skip.log; \
    fi && exit 0

# # 检查 dist 目录是否存在，如果不存在，则执行 pnpm build 构建，否则直接退出
# CMD if [ ! -d "dist" ]; then pnpm build; fi && exit 0

# 检查 build/rebuild.log 是否存在：
# - 如果存在：
#   1. 执行 pnpm build
#   2. 删除 build/rebuild.log
# - 如果不存在，直接退出
# CMD if [ -f "build/rebuild.log" ]; then \
#       pnpm build && \
#       rm -f build/rebuild.log; \
#       echo "Build completed on $(date)" > build/start.log; \
#     else \
#       echo "Build skipped on $(date)" > build/start.log; \
#     fi && exit 0